0 POKE55,56:POKE56,74:POKE51,56:POKE52,74:DT=FRE(0):CLR:DIMPR$(145):DIMPL$(50):DIMPN$(50):GOSUB428:PRINTCHR$(14):IFF=0THENPRINTCHR$(147) 12 GOSUB90:IFF=1THENSYS30120:GOTO15 14 PRINT"[147]"; 15 POKE53280,0:POKE53281,0:IFF=1GOTO33 18 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT:FORS=1024TO1063:POKES,244:POKES+960,244:NEXT:PRINT"[144]";:A$=" [212]HE [205]AGIC [205]USIC [205]ACHINE 2.[195] ":GOSUB96:PRINT"[144]";:PRINT"";:A$=" BY [196]AVE [211]CHMOLDT 72356,2574 " 32 GOSUB96 33 PRINT"":FORZ=1TO5:IFF=0THENGOSUB284 36 Q=0:FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+999-Q,CO:Q=Q+2:NEXT:NEXTZ:PRINT"";:IFF=0THENGOSUB102 46 PRINT"[146]";:F=1:IFRIGHT$(PL$(N),2)=".C"THENPT$=LEFT$(PL$(N),LEN(PL$(N))-2):GOTO50 49 PT$=PL$(N) 50 PRINT"";:A$=" ":GOSUB96:PRINT"";:A$=" ":GOSUB96:PRINT"[145]";:PRINT"";:A$="[158][206]OW [208]LAYING--> "+PT$ 59 GOSUB96:A$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":PRINT"";:CO=149:D$="":U$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]" 65 FORC=1TO11:FORDE=1TO75:NEXT:CO=INT(1+RND(1)*14):POKE646,CO:PRINTLEFT$(D$,C+1);:PRINTA$;:PRINT"";:PRINTLEFT$(U$,C);:PRINTA$;:GETRE$:IFRE$=" "THENPOKE31044,4:R=0:FORL=54276TO54296:POKEL,0:NEXT 77 IFRE$=" "GOTO201 78 IFRE$="1"THENPOKE31044,1 79 IFRE$="2"THENPOKE31044,2 80 IFRE$="3"THENPOKE31044,3 81 IFRE$="_"THENPOKE31044,0 82 IFRE$="^"THENFORL=54276TO54296:POKEL,0:NEXT:POKE31044,4:FY=1:N=A:GOTO201 83 NEXTC:PRINT"";:IFPEEK(789)<>234GOTO65 86 FORL=54276TO54296:POKEL,0:NEXT:GOTO201 90 PRINT"";:FORJK=1TO23:PRINT" ";:NEXT:PRINT"":RETURN 96 PRINTSPC(20-LEN(A$)/2);:PRINTA$;:RETURN 99 GETKE$:IFKE$=""GOTO99 101 RETURN 102 GOSUB90:PRINT"[146]";:A$="[156][208]RESS ANY KEY WHEN READY":POKE646,4:GOSUB96:GOSUB99:GOSUB90:Q=0:FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+999-Q,CO:Q=Q+2:NEXT:DS=FRE(0):PRINT"[158]":A$="[210]EADING [196]IRECTORY":GOSUB96:PRINT 121 X=1:OPEN15,8,15,"I":CLOSE15:A$="":OPEN8,8,0,"$0":FORC=1TO8:GET#8,A$:NEXT:C=1:DN$="":FORC=1TO16:GET#8,A$:DN$=DN$+A$:NEXT:GET#8,A$:GET#8,A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:GET#8,A$:DN$=DN$+"/"+A$ 144 GET#8,A$:DN$=DN$+A$:GET#8,A$:C=1:PRINT"[196]ISK [212]ITLE ---> [156]";:PRINTDN$:PRINT 151 FORH=1TO4:GET#8,A$:NEXT 154 GET#8,A$:IF(ST)<>0GOTO174 156 IFA$=""GOTO174 157 IFASC(A$)<>34GOTO154 158 GET#8,A$:IFASC(A$)<>34THENPN$=PN$+A$:GOTO158 160 GET#8,A$:IFASC(A$)=32GOTO160 162 GET#8,A$:IFA$<>""GOTO162 164 PR$(X)=PN$:PRINT"";:PRINT" ";:A$=" "+PN$:PRINT"[145]";:GOSUB96:PN$="":X=X+1:IF(ST)=0GOTO151 173 CLOSE8 174 CLOSE8:GOSUB90:PRINT"";:A$="[195]HECKING FOR [205]ASTER [195]OMPOSER FILES":GOSUB96:A=1:PRINT:FORM=1TOX-1:OPEN8,8,8,PR$(M)+",M,R":IF(ST)<>0GOTO197 184 GET#8,L1$:IFL1$=""GOTO197 186 IFASC(L1$)<>13GOTO197 187 GET#8,L2$:IFL2$=""GOTO197 189 IFASC(L2$)<>117GOTO197 190 PL$(A)=PR$(M):PRINT"";:PRINT" ":A$=PL$(A):PRINT"[145][145]";:GOSUB96:A=A+1 197 CLOSE8:L1$="":L2$="":NEXTM 201 GOSUB90:PRINT"";:IFSK=1GOTO404 204 IFFY=1GOTO401 205 IFFG=1GOTO399 206 IFFR=1THENGOSUB377:GOTO284 207 GOSUB90:V=1:IFA>32THENA=32 210 Q=0:FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+999-Q,CO:Q=Q+2:NEXT:FORCA=1TOA-1:OV$="":DO$="":RO$="[146]":IFCA>16THENPRINTLEFT$(OV$,CA+5);:GOTO223 222 PRINTLEFT$(DO$,CA+2); 223 IFRIGHT$(PL$(CA),2)=".C"GOTO229 224 PRINT"";:PRINTCHR$(CA+64);:PRINTRO$+" ";:PRINTPL$(CA):GOTO235 229 LE=LEN(PL$(CA))-2:PRINT"";:PRINTCHR$(CA+64);:PRINTRO$+" ";:PRINTLEFT$(PL$(CA),LE):RO$="[146]" 235 NEXT:PRINT"";:A$="[158][197]NTER YOUR CHOICES IN ANY ORDER":GOSUB96:PRINT"";:A$=" [210][197][212][213][210][206][158] FOR MENU [211][208][193][195][197][158] WHEN DONE":GOSUB96:PRINT"[156]"; 243 GETAN$:IFAN$=""GOTO243 245 IFAN$=CHR$(13)THENGOSUB90:GOSUB284 246 IFAN$=" "ANDV=1THENGOSUB90:GOTO284 247 IFAN$=" "THENFORT=1TOV:PL$(T)=PN$(T):NEXT:A=V-1:FY=1:GOTO393 248 IFASC(AN$)<65GOTO243 249 N=ASC(AN$)-64:PN$(V)=PL$(N):IFN>CA-1GOTO243 252 IFN<1GOTO243 253 IFN>16THENFORI=55357TO55373:POKEI+(N-16)*40,1:NEXT:V=V+1:GOTO258 254 FORI=55338TO55354:POKEI+N*40,1:NEXT:V=V+1 258 GOTO243 259 PRINT"[158]";:A$="[[211][208][193][195][197]] WILL STOP SONG DURING PLAY":GOSUB96:PRINT"";:A$="1 = VOICE 1 ONLY":GOSUB96:PRINT"";:A$="2 = VOICE 2 ONLY":GOSUB96:PRINT""; 269 A$="3 = VOICE 3 ONLY":GOSUB96:PRINT"";:A$="_ = ALL 3 VOICES":GOSUB96:PRINT"";:A$="^ = BACK TO MENU":GOSUB96:PRINT"[156]";:A$="[204]OADING "+PT$:GOSUB96:POKE20000,1 281 POKE20200,N:GOSUB407:LOADPL$(N),8,1 284 PRINT"[158]";:CLOSE15:FORS=55296TO55335:POKES,0:POKES+960,0:NEXT:POKE20000,0:POKE20300,0:POKE20310,0:POKE20320,0:POKE20330,0:SK=0:FY=0:FG=0:FR=0:DS=FRE(0):PRINT" [221] [197]NTER [217]OUR [195]HOICE [158][146][221]" 301 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]";:PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":PRINT" [221] [212]HE [205]AGIC [205]USIC [205]ACHINE [146][158][221] " 305 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":PRINT" ";:PRINT" 1. [195]REATE OR UPDATE A DIRECTORY FILE ";:PRINT" "; 309 PRINT" 2. [195]HOOSE SONGS FROM DIRECTORY FILE ";:PRINT" ";:PRINT" 3. [195]HOOSE SONGS (NO DIRECTORY FILE) ";:PRINT" "; 313 PRINT" 4. [208]LAY ALL SONGS IN DIRECTORY FILE ";:PRINT" ";:PRINT" 5. [208]LAY ALL SONGS ON DISK (NO FILE) ";:PRINT" "; 317 PRINT" 6. [211]END DIRECTORY FILE TO PRINTER ";:PRINT" ";:PRINT" 7. [197]ND ";:PRINT" "; 321 T1$="OOOOOOOOOOOOOOOOOOOO":T2$="OOOOOOOOOOOOOOOOOOOO":R1$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O[157]O":R2$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O" 325 B1$="OOOOOOOOOOOOOOOOOOOO":B2$="OOOOOOOOOOOOOOOOOOOO":L1$="[145][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O":L2$="[145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O":B1$=""+T1$+R1$+B1$+L1$ 330 B2$=""+T2$+R2$+B2$+L2$:H=2 332 PRINTB1$:PRINTB2$:POKE646,H:H=H+1:IFH=16THENH=2 337 GETA$:IFA$=""GOTO332 339 POKE646,14:IFA$="1"THENFR=1:GOTO102 341 IFA$="2"GOTO348 342 IFA$="3"GOTO102 343 IFA$="4"THENSK=1:GOTO348 344 IFA$="5"THENFG=1:DS=FRE(0):GOTO102 345 IFA$="6"THENFP=1:DS=FRE(0):GOTO348 346 IFA$="7"THENGOSUB90:PRINT"[147][158]":POKE20000,0:END 347 GOTO321 348 GOSUB90:A$="[210]EADING DIRECTORY FILE.....":PRINT"":GOSUB96:CLOSE8:OPEN15,8,15,"I0:":OPEN8,8,8,"MMMCAT,S,R":INPUT#15,Y,B$,C,D:CLOSE15:IFY=62GOTO362 358 IFFP=1THENCLOSE4:OPEN4,4,7 359 CLOSE8:OPEN8,8,8,"MMMCAT,S,R":PRINT"" 362 IFY=62THENPRINT"":A$="[217]OU MUST CREATE A FILE FIRST":GOSUB96:CLOSE8 363 IFY=62THENFORDE=1TO2000:NEXTDE:GOSUB90:CLOSE15:GOTO284 364 INPUT#8,DN$:IFFP=1THENPRINT#4," ":PRINT#4,DN$:PRINT#4," " 366 INPUT#8,A:FORWE=1TOA:INPUT#8,PL$(WE):IFFP=1THENPRINT#4,PL$(WE) 370 NEXT:IFFP=1THENFP=0:PRINT#4," ":PRINT#4," ":CLOSE4:CLOSE8:GOSUB90:GOTO284 372 IFSK=1THENCLOSE8:CLOSE15:GOTO393 373 CLOSE8:CLOSE15:A=A+1:GOTO207 377 A$="[215]RITING [196]IRECTORY [198]ILE":GOSUB96:CLOSE8:OPEN15,8,15,"S0:MMMCAT":CLOSE15:DS=FRE(0):OPEN8,8,8,"MMMCAT,S,W":PRINT#8,DN$:PRINT#8,A-1:FORQW=1TOA-1:PRINT#8,PL$(QW):NEXTQW:CLOSE8:R=0:GOSUB90:RETURN 393 GOSUB90:F=1:N=1 396 PT$=PL$(N):F=1:GOTO259 399 IFFG=1THENN=N+1:IFN>A-1GOTO284 400 IFFG=1GOTO406 401 IFFY=1THENN=N+1 402 IFN>AGOTO284 403 GOTO406 404 N=N+1:IFN>AGOTO284 406 GOTO396 407 BA=21000:POKE20100,A:POKE20200,N:POKE20000,1:POKE20300,SK:POKE20310,FY:POKE20320,FG:POKE20330,FR:IFFG=1THENA=A-1:POKE20100,A 416 FORQ1=1TOA:LE=LEN(PL$(Q1)):FORA1=1TOLE:PV=ASC(MID$(PL$(Q1),A1,1)):POKEBA,PV:BA=BA+1:NEXTA1:POKEBA,94:BA=BA+1:NEXTQ1:POKEBA,95:RETURN 428 F=PEEK(20000):IFF<>1THENF=0:RETURN 430 A=PEEK(20100):N=PEEK(20200):BA=21000:SK=PEEK(20300):FY=PEEK(20310):FG=PEEK(20320):FR=PEEK(20330):Q1=1 438 IFQ1>ATHENRETURN 439 NT$="":NT$=CHR$(PEEK(BA)):IFPEEK(BA)=94THENNT$="":Q1=Q1+1:BA=BA+1:GOTO438 442 PL$(Q1)=PL$(Q1)+NT$:BA=BA+1:GOTO439 445 END